<?php
class Solusuario_model extends CI_Model {
	function solusuario_model() {
		parent::__construct ();
	}	
	
	/**
	 * verificando si existe el usuario
	 * @author Leidy
	 * 03/07/2015*/
	function verificar($pass){
		$query = $this->db->query('SELECT * from solicitud_usuario WHERE username ="'.$pass.'"');
		return $query->result();
	}
	
	/**metodo que devuelve todos los valores de solicitud usuario dependiendo de el nombre de usuario
	 * @author Leidy Uribe Marcos
	 */
	function getUsername($data) {
		$porid = $this->db->query ( 'SELECT * FROM solicitud_usuario WHERE username = "' . $data ['usuario'] . '"' );
		return $porid->row_array ();
	}
	
	/**
	 * Modificando en solicitud usuario
	 * @author Leidy Uribe Marcos
	 */
	function updateSolicitudUsuario($data) {
		$this->db->set ( 'id_ubigeo', $data ['ubigeo'] );
		$this->db->set ( 'usuario_modificacion',  $data ['usuario_modificacion']);
		$this->db->set ( 'fecha_modificacion', $data ['fecha_modificacion'] );
		$this->db->set ( 'username', $data ['usuario'] );
		$this->db->set ( 'password', MD5 ( $data ['password'] ));
		$this->db->set ( 'ip', $data['ip']);
		$this->db->set ( 'direccion', $data ['direccion'] );
		$this->db->set ( 'correo', $data ['correo'] );
		$this->db->set ( 'telefono', $data ['telefono'] );
		$this->db->set ( 'nombres', $data ['nombres'] );
		$this->db->set ( 'apellidos', $data ['apellidos'] );
		$this->db->set ( 'id_tipo_documento', $data ['documento'] );
		$this->db->set ( 'nro_documento', $data ['numdoc'] );
		$this->db->set ( 'fecha_nacimiento', $data ['nacimiento'] );
		$this->db->set ( 'estado_solicitud', $data ['estado_solicitud'] );
		$this->db->where('id_solicitud_usuario', $data['id_solicitud_usuario']);
    	$this->db->update('solicitud_usuario');
	}
	
	/**
	 * modificando en solicitud usuario para persona juridica
	 * @author Leidy Uribe Marcos
	 */
	function updateSolicitudUsuarioJuridica($data) {
		$this->db->set ( 'id_ubigeo', $data ['ubigeo'] );
		$this->db->set ( 'usuario_modificacion',  $data ['usuario_modificacion']);
		$this->db->set ( 'fecha_modificacion', $data ['fecha_modificacion'] );
		$this->db->set ( 'username', $data ['usuario'] );
		$this->db->set ( 'password', MD5 ( $data ['password'] ));
		$this->db->set ('ip', $data['ip']);
		$this->db->set ( 'direccion', $data ['direccion'] );
		$this->db->set ( 'correo', $data ['correo'] );
		$this->db->set ( 'telefono', $data ['telefono'] );
		$this->db->set ( 'ruc', $data ['ruc'] );
		$this->db->set ( 'razon_social', $data ['razon'] );
		$this->db->set ( 'estado_solicitud', $data ['estado_solicitud'] );
		$this->db->where('id_solicitud_usuario', $data['id_solicitud_usuario']);
		$this->db->update('solicitud_usuario');
	}
	
	/**insertando en solicitud usuario los datos de una persona natural
		@author Leidy Uribe Marcos
	*/
	function insert_persona_natural($data) {
		$this->db->set ( 'id_ubigeo', $data ['ubigeo'] );
		$this->db->set ( 'usuario_registro',  $data ['usuario_registro']);
		$this->db->set ( 'fecha_registro', $data ['fecha_registro'] );
		$this->db->set ( 'username', $data ['usuario'] );
		$this->db->set ( 'password', MD5 ( $data ['password'] ));
		$this->db->set ( 'direccion', $data ['direccion'] );
		$this->db->set ( 'correo', $data ['correo'] );
		$this->db->set ( 'telefono', $data ['telefono'] );
		$this->db->set ( 'nombres', $data ['nombres'] );
		$this->db->set ( 'apellidos', $data ['apellidos'] );
		$this->db->set ( 'id_tipo_documento', $data ['documento'] );
		$this->db->set ( 'nro_documento', $data ['numdoc'] );
		$this->db->set ( 'fecha_nacimiento', $data ['nacimiento'] );
		$this->db->set ( 'estado_solicitud', $data ['estado_solicitud'] );
		$this->db->insert ( 'solicitud_usuario' );
	}
	
	/**insertando en solicitud usuario los datos de una persona juridica
		@author Leidy Uribe Marcos
	*/
	function insert_persona_juridica($data) {
		$this->db->set ( 'id_ubigeo', $data ['ubigeo'] );
		$this->db->set ( 'usuario_registro',  $data ['usuario_registro']);
		$this->db->set ( 'fecha_registro', $data ['fecha_registro'] );
		$this->db->set ( 'username', $data ['usuario'] );
		$this->db->set ( 'password', MD5 ( $data ['password'] ));
		$this->db->set ( 'direccion', $data ['direccion'] );
		$this->db->set ( 'correo', $data ['correo'] );
		$this->db->set ( 'telefono', $data ['telefono'] );
		$this->db->set ( 'ruc', $data ['ruc'] );
		$this->db->set ( 'razon_social', $data ['razon'] );
		$this->db->set ( 'estado_solicitud', $data ['estado_solicitud'] );
		$this->db->insert ( 'solicitud_usuario' );
	}
        
        /**
         * Registrar solicitud para un proveedor
         * @author Fernando Esteban Valerio    
         * @param array $data Arreglo de datos del proveedor
         */
	public function insert_proveedor($data) {
            $this->db->set('id_ubigeo', $data['ubigeo']);
            $this->db->set('usuario_registro',  $data['usuario_registro']);
            $this->db->set('fecha_registro', $data['fecha_registro']);
            $this->db->set('username', $data['usuario'] );
            $this->db->set('password', MD5($data['password']));
            $this->db->set('direccion', $data['direccion']);
            $this->db->set('correo', $data['correo']);
            $this->db->set('telefono', $data['telefono']);
            $this->db->set('ruc', $data['ruc']);
            $this->db->set('razon_social', $data['razon']);
            $this->db->set('estado_solicitud', $data['estado_solicitud']);
            $this->db->insert('solicitud_usuario');
	}
	
        /**
         * Actualizar solicitud para un proveedor
         * @author Fernando Esteban Valerio    
         * @param array $data Arreglo de datos del proveedor
         */
	public function actualizarProveedor($data) {
            $this->db->set('id_ubigeo', $data['ubigeo']);
            $this->db->set('usuario_modificacion',  $data['usuario_modificacion']);
            $this->db->set('fecha_modificacion', $data['fecha_modificacion']);
            $this->db->set('username', $data['usuario'] );
            if ($data['password'] != '') {
                $this->db->set('password', MD5($data['password']));
            }
            $this->db->set('direccion', $data['direccion']);
            $this->db->set('correo', $data['correo']);
            $this->db->set('telefono', $data['telefono']);
            $this->db->set('ruc', $data['ruc']);
            $this->db->set('razon_social', $data['razon']);
            $this->db->where('id_solicitud_usuario', $data['id_solicitud_usuario']);
            $this->db->update('solicitud_usuario');
	}
        
        /**
         * Devolver el id insertado.
         * @author Fernando Esteban Valerio
         * @return int
        */
        public function getLastInserted() {
           return $this->db->insert_id();
        }

        /**
         * Actualizar el estado una solicitud.
         * @author Fernando Esteban Valerio    
         * @param array $data Arreglo de datos del proveedor
         */
        public function updateSolicitud($data) {
            $this->db->set('estado_solicitud', $data['estado_solicitud']);
            $this->db->set('usuario_modificacion', $data['usuario_modificacion']);
            $this->db->set('fecha_modificacion', $data['fecha_modificacion']);
            $this->db->where('id_solicitud_usuario', $data['id_solicitud_usuario']);
            $this->db->update('solicitud_usuario');
        }
        
        
	/** Obteniendo el id de la solicitud ultima registrada 
	 * @author Leidy Uribe Marcos
	 */
	function getId() {
		$ultimo_id = $this->db->query ( 'SELECT * FROM solicitud_usuario ORDER BY id_solicitud_usuario DESC LIMIT 1' );
		return $ultimo_id->row_array ();
	}
	
	/** Obteniendo el id_ubigeo del ultimo usuario registrado 
	 * @author Leidy Uribe Marcos
	 */
	function getDeptId($data) {
		$ultimo_ubigeo = $this->db->query('SELECT * FROM ubigeo
					WHERE id_ubigeo = ' . $data['id_ubigeo']);
		return $ultimo_ubigeo->row_array();
	}
	
	/**
	 * Selecciona los datos de solicitud usuario 
	 * según su id
	 * @author Leidy Uribe Marcos
	 */
	function getDatosId($id){
		$datos = $this->db->query('SELECT * FROM solicitud_usuario
					WHERE id_solicitud_usuario = ' . $id['idSolUsuario']);
		return $datos->result();
	}
	
	function getDatosSolicitud($data){
		$datos = $this->db->query('SELECT * FROM solicitud_usuario
				WHERE id_solicitud_usuario = '.$data['id_solicitud_usuario']);
		return $datos->result();
	}
	
	/**
	 * Actualiza el estado de solicitud usuario 
	 * segun su id
	 * @author Leidy Uribe Marcos
	 */
	function updateSolUsuario($data) {
        $this->db->set('estado_solicitud', $data['estado_solicitud']);
        $this->db->where('id_solicitud_usuario', $data['idSolUsuario']);
        $this->db->update('solicitud_usuario');
    }
    
    /** 
     * Metodo que inactiva siempre a la solicitud de usuario 
     * @author Leidy Uribe Marcos
     */
    function updateSol($data) {
    	$this->db->set('estado_solicitud', 0);
    	$this->db->where('id_solicitud_usuario', $data['idSolUsuario']);
    	$this->db->update('solicitud_usuario');
    }
}

?>